import {
  reqBaseCategoryList,
  reqGetBannerListData,
  reqGetFloorListData,
} from "@/api";

const state = {
  categoryList: [],
  bannerList: [],
  floorList: [],
};

const actions = {
  // 1、获取三级路由数据的异步函数
  async getCategoryList({ commit }) {
    try {
      // 获取数据
      const result = await reqBaseCategoryList();
      // 操作mutations中的方法，保存数据
      commit("SAVE_CATEGORY_LIST", result.data);
    } catch (error) {
      console.log("getCategoryList数据获取失败:", error);
    }
  },
  // 2、获取轮播图数据的异步函数
  async getBannerListData({ commit }) {
    const result = await reqGetBannerListData();
    if (result.code === 200) {
      commit("SAVE_BANNER_LIST_DATA", result.data);
    } else {
      console.log("banner请求错误");
    }
  },
  // 获取floor数据的异步函数
  async getFloorListData({ commit }) {
    const result = await reqGetFloorListData();
    if (result.code === 200) {
      commit("SAVE_FLOOR_LIST_DATA", result.data);
    }
  },
};

const mutations = {
  // 保存三级导航数据
  SAVE_CATEGORY_LIST(state, data) {
    state.categoryList = data;
  },
  // 保存轮播图数据
  SAVE_BANNER_LIST_DATA(state, data) {
    state.bannerList = data;
  },
  // 保存楼层数据
  SAVE_FLOOR_LIST_DATA(state, data) {
    state.floorList = data;
  },
};

const getters = {};

export default {
  namespaced: true, //开启命名空间
  state,
  actions,
  mutations,
  getters,
};
